
package IT.Servlet;

import IT.DataAccess.DatProyectoActividad;
import IT.DataAccess.DatProyectoEtapa;
import IT.DataAccess.IDatProyectoActividad;
import IT.DataAccess.IDatProyectoEtapa;
import IT.Entities.ProyectoActividad;
import IT.Entities.Usuario;
import IT.Helper.Helper;
import java.io.*;
import java.net.*;

import java.util.ArrayList;
import java.util.List;
import javax.servlet.*;
import javax.servlet.http.*;

/**
 *
 * @author marlon
 */
public class ProyectoActividadEditarServlet extends HttpServlet {
   
  
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        //PrintWriter out = response.getWriter();
        //try {
            /* TODO output your page here
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet ProyectoActividadEditarServlet</title>");  
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet ProyectoActividadEditarServlet at " + request.getContextPath () + "</h1>");
            out.println("</body>");
            out.println("</html>");
            */
        //} finally { 
        //    out.close();
        //}
        if(request.getSession().getAttribute("Usuario")!=null){
        int nEtapa=Integer.parseInt(request.getParameter("hdnCodigo").trim());
        Usuario oUsuario=(Usuario)request.getSession().getAttribute("Usuario");
        IDatProyectoEtapa oDatEtapa=new DatProyectoEtapa();
        IDatProyectoActividad oDatAct=new DatProyectoActividad();
        List<ProyectoActividad> oListaActividad=new ArrayList<ProyectoActividad>();
        
        oDatEtapa.Estado(nEtapa,1);
        
        String[] cCodAct,cAsignado,cObsAct,cFInicio = null,cFFin = null,cObligatorio=null;
        cAsignado=request.getParameterValues("cboEntregable");
        cCodAct=request.getParameterValues("hdnCodAct");
        cObsAct=request.getParameterValues("txtObsAct");
        ProyectoActividad oActividad;
        cFInicio=new String[cCodAct.length];
        cFFin=new String[cCodAct.length];  
        
        if(request.getParameterValues("chkObligatorio")!=null){
            cObligatorio=request.getParameterValues("chkObligatorio");
        }
        
        for(int i=0;i<cCodAct.length;i++){
            cFInicio[i]=request.getParameter("txtFInicio"+String.valueOf(i+1).trim()).trim();
            cFFin[i]=request.getParameter("txtFFin"+String.valueOf(i+1).trim()).trim();
        }
        
        for(int i=0;i<cCodAct.length;i++){
              oActividad=new ProyectoActividad();
              oActividad.setCod_act_in(Integer.parseInt(cCodAct[i]));
              oActividad.setCod_emp_in(Integer.parseInt(cAsignado[i]));
              oActividad.setObs_act_vc(cObsAct[i]);
              oActividad.setFec_ini_act_dt(new Helper().crearFecha(cFInicio[i].trim()));
              oActividad.setFec_ent_act_dt(new Helper().crearFecha(cFFin[i].trim()));
              oActividad.setCod_sup_act_in(oUsuario.getCod_emp_in());
              oDatAct.Editar(oActividad);             
               
              //oActividad.setFec_ini_act_dt(new Helper().crearFecha(request.getParameter("txtFInicioProy").trim()));
              //oActividad.setFec_ent_act_dt(new Helper().crearFecha(request.getParameter("txtFInicioProy").trim()));
                               
                      
        }
        oDatAct.EtapaActivacion(nEtapa);
        oDatAct.ReiniciarAprobacion(nEtapa);
        oListaActividad=oDatAct.Ubi(nEtapa);
        
        if(cObligatorio!=null){
        for(ProyectoActividad ent:oListaActividad){
            for(String cCodigo:cObligatorio){
                if(String.valueOf(ent.getCod_act_in()).trim().equals(cCodigo)){
                    oDatAct.EditarAprobacion(ent.getCod_act_in(), true);
                }
            }
        }
        }
       request.getSession().setAttribute("lblRegistro","<ul><li>Se Actualizo Actividades</li></ul>");  
             
        response.sendRedirect("WebAprobacionEditar.jsp?nEtapa="+String.valueOf(nEtapa));
    }else{
          response.sendRedirect("index.jsp");
    } 
        
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
    * Handles the HTTP <code>GET</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 

    /** 
    * Handles the HTTP <code>POST</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
    * Returns a short description of the servlet.
    */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}
